#include <bits/stdc++.h>
using namespace std;
using uint = unsigned int;
using ll = long long;
using ull = unsigned long long;
using i128 = __int128;
const int N = 1e6 + 5;

void solve() {
    int n;
    scanf("%d", &n);
    vector<int> p(n + 1, 0);
    vector<int> q(n + 1, 0);
    p[1] = 1;
    q[1] = 2;
    double sum = (double)q[1] / p[1];
    for (int i = 2; i <= n; i++) {
        q[i] = q[i - 1] + p[i - 1];
        p[i] = q[i - 1];
        sum += (double)q[i] / p[i];
    }
    printf("%.4f", sum);
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    solve();
    return 0;
}
    

// 题目：分数序列和

// 描述：
// 有一个分数序列q1/p1, q2/p2, q3/p3, …, 其中qi+1=qi+pi, pi+1=qi, p1=1, q1=2。
// 比如这个序列的前六项分别是2/1, 3/2, 5/3, 8/5, 13/8。求这个分数序列的前n项之和。
// 输入格式
// 输入一行一个正整数n。
// 输出格式
// 输出一行一个浮点数，表示分数序列前n项的和，精确到小数点后4位。
// 样例输入
// 2
// 样例输出
// 3.5000